#include "vector.h"

//namespace pafos
//{
	namespace Math
	{
		Vector2::Vector2() {}; 
		Vector2::Vector2(const Vector2 &copy) : x(copy.x), y(copy.y) {};
		Vector2::Vector2(const float val_x, const float val_y) : x(val_x),y(val_y) {};

		const Vector2 Vector2::Zero(0,0);
		const Vector2 Vector2::XAxis(1,0);
		const Vector2 Vector2::YAxis(0,1);
		const Vector2 Vector2::Identity(1,1);

		Vector3::Vector3() {}
		Vector3::Vector3(const Vector3 &copy) : x(copy.x), y(copy.y), z(copy.z) {}
		Vector3::Vector3(const Vector4 &copy) : x(copy.x), y(copy.y), z(copy.z) {}
		Vector3::Vector3(const float val_x, const float val_y, const float val_z) : x(val_x), y(val_y), z(val_z) {}

		const Vector3 Vector3::Zero(0,0,0);
		const Vector3 Vector3::XAxis(1,0,0);
		const Vector3 Vector3::YAxis(0,1,0);
		const Vector3 Vector3::ZAxis(0,0,1);
		const Vector3 Vector3::Identity(1,1,1);

		Vector4::Vector4() {}
		Vector4::Vector4(const Vector4 &copy) : x(copy.x), y(copy.y), z(copy.z), w(copy.w) {}
		Vector4::Vector4(const Vector3 &copy) : x(copy.x), y(copy.y), z(copy.z), w(1) {}
		Vector4::Vector4(const float val_x, const float val_y, const float val_z, const float val_w) : x(val_x), y(val_y), z(val_z), w(val_w) {}

		const Vector4 Vector4::Zero(0,0,0,0);
		const Vector4 Vector4::XAxis(1,0,0,0);
		const Vector4 Vector4::YAxis(0,1,0,0);
		const Vector4 Vector4::ZAxis(0,0,1,0);
		const Vector4 Vector4::WAxis(0,0,0,1);
		const Vector4 Vector4::Identity(1,1,1,1);

	} //namespace math
//} // namespace pafos